/**
 * 构造方法： 就是产生对象的工具， 只有通过这个， 才能产生类的对象。
 *
 * 构造器方法， 命名最好使用aName, aAge, 这样， 如果使用n, a这类的， 就会导致不容易理解， 需要进行查看代码。
 *
 * 或者使用 this.name= name;（隐式声明）
 */

public class Contruct {
    // 如果没有构造器，那么没事儿，有默认的无参构造器
    // 如果有一个构造器，但是有参数， 那么，new的必须要给参数，否则报错。
    private String name;
    private int age;

    // 无参构造器
    public Contruct() {

    }

    // name构造器
    public Contruct(String n) {
        name = n;
    }

    // name、 age构造器
    public Contruct(String n , int a) {
        name = n;
        age = a;
    }


    public static void main(String[] args) {
        Contruct contruct = new Contruct();
        // 应该是null和0,数值型的默认为0， 对象型的默认为null。
        System.out.println(contruct.name);
        System.out.println(contruct.age);


        Contruct contruct1 = new Contruct("bob");
        // 应该是bob和0
        System.out.println(contruct1.name);
        System.out.println(contruct1.age);


        Contruct contruct2 = new Contruct("bob", 19);
        // 应该是bob和19；
        System.out.println(contruct2.name);
        System.out.println(contruct2.age);


    }
}
